package com.hc.mybatis.generator.repository.dao;

import com.hc.mybatis.generator.repository.model.PurchaserInvoiceLogsEntity;
import com.hc.mybatis.generator.repository.model.PurchaserInvoiceLogsExample;
import com.hc.mybatis.generator.repository.model.PurchaserInvoiceLogsWithBLOBs;
import java.util.List;
import org.apache.ibatis.annotations.Param;

public interface PurchaserInvoiceLogsDao {
    /**
     * 根据条件计数
     *
     * @param example
     */
    int countByExample(PurchaserInvoiceLogsExample example);

    /**
     * 根据主键删除数据库的记录
     *
     * @param id
     */
    int deleteByPrimaryKey(String id);

    /**
     * 插入数据库记录
     *
     * @param record
     */
    int insert(PurchaserInvoiceLogsWithBLOBs record);

    /**
     * 插入数据库记录
     *
     * @param record
     */
    int insertSelective(PurchaserInvoiceLogsWithBLOBs record);

    /**
     *
     * @param example
     */
    List<PurchaserInvoiceLogsWithBLOBs> selectByExampleWithBLOBs(PurchaserInvoiceLogsExample example);

    /**
     * 根据条件查询列表
     *
     * @param example
     */
    List<PurchaserInvoiceLogsEntity> selectByExample(PurchaserInvoiceLogsExample example);

    /**
     * 根据主键获取一条数据库记录
     *
     * @param id
     */
    PurchaserInvoiceLogsWithBLOBs selectByPrimaryKey(String id);

    /**
     * 选择性更新数据库记录
     *
     * @param record
     * @param example
     */
    int updateByExampleSelective(@Param("record") PurchaserInvoiceLogsWithBLOBs record, @Param("example") PurchaserInvoiceLogsExample example);

    /**
     * 选择性更新数据库记录
     *
     * @param record
     * @param example
     */
    int updateByExampleWithBLOBs(@Param("record") PurchaserInvoiceLogsWithBLOBs record, @Param("example") PurchaserInvoiceLogsExample example);

    /**
     * 选择性更新数据库记录
     *
     * @param record
     * @param example
     */
    int updateByExample(@Param("record") PurchaserInvoiceLogsEntity record, @Param("example") PurchaserInvoiceLogsExample example);

    /**
     * 根据主键来更新部分数据库记录
     *
     * @param record
     */
    int updateByPrimaryKeySelective(PurchaserInvoiceLogsWithBLOBs record);

    /**
     *
     * @param record
     */
    int updateByPrimaryKeyWithBLOBs(PurchaserInvoiceLogsWithBLOBs record);

    /**
     * 根据主键来更新数据库记录
     *
     * @param record
     */
    int updateByPrimaryKey(PurchaserInvoiceLogsEntity record);

    /**
     * 根据条件查询单条数据
     *
     * @param example
     */
    PurchaserInvoiceLogsWithBLOBs selectOneByExample(PurchaserInvoiceLogsExample example);
}